Collaboration services (e.g., WebEx®, Cisco Jabber®, Citrix GoToMeeting®, Skype®, Microsoft SharePoint®, Microsoft Lync®, Google Drive®, etc.) are systems utilized by multiple users to achieve a common goal, such as sharing ideas, working on a project, and communicating with remote users. In today's global economy, collaboration platforms are essential for enterprises to connect employees, especially personnel that are unable to meet in person. One of the cornerstones to any collaboration platform is file sharing between users of a collaboration session. Often, when a first user wishes to share a file with a second user via the collaboration service, the first user will upload the file to the collaboration server that manages the collaboration service. Once the file is uploaded to the collaboration server, the second user is instructed by the server when they can download or view the uploaded file.
Many collaboration services promote file sharing and file backup services as a major component of the collaboration platform, but file sharing over the collaboration services remains a cumbersome experience for the users of the collaboration service and a major consumer of bandwidth. For many collaboration services, when a first user wishes to share a file with a second user, the first user uploads the file via the collaboration service to a server. Once the uploaded file is complete, the file is then stored on the collaboration service server and the second user is notified that the uploaded file is available to be downloaded or viewed. However, these collaboration services never verify whether or not the newly uploaded file had previously been uploaded to, and is currently being stored on, the collaboration server. Thus, duplicate files are often stored on the collaboration server of the collaboration service. In this scenario, storage space on the server is occupied when it does not need to be occupied. Furthermore, bandwidth was utilized to upload the file to the collaboration server when the upload did not need to occur.
Some collaboration services will perform an internal data deduplication process when a user attempts to upload a file before the uploading has actually taken place. This prevents duplicate files from being uploaded to the server of the collaboration service. However, files that are to be uploaded to the collaboration server are often already stored on a file storage system external to the collaboration service. Many user devices run several different services, and each of these services may have its own file storage system. Therefore, there is a strong likelihood that the file to be uploaded to the collaboration server has already been stored on a file storage system of another service being operated on the user device. Thus, it is not necessary to utilize the bandwidth and storage space of the collaboration server when the files may be accessed from one of the file storage systems external to the collaboration service.